package com.shujia.wyh.day10.test4;

import java.util.ArrayList;

/*
泛型的高级用法

    泛型通配符<?>
        任意类型，如果没有明确，那么就是Object以及任意的Java类了
    ? extends E
        向下限定，E及其子类
    ? super E
        向上限定，E及其父类


   今后使用的注意事项：
    1、如果在类，接口，方法中只看到单独的泛型，例如   类<E>  接口<E> 方法(E e),就给一个确定的类型即可
    2、如果在方法中看到向下继承或者向上继承的泛型
        fun(? extends E  e)  将来可以传入E的子类或者本身类型
        fun(? super E  e)   将来可以传入E的父类或者本身类型

 */
public class FanXingDemo4 {
    public static void main(String[] args) {

        ArrayList<Animal> list2 = new ArrayList<>();

        Object d1 = new Object();
        Object d2 = new Object();
        Object d3 = new Object();
        Object d4 = new Object();

        ArrayList<Object> list = new ArrayList<>();

        //public boolean addAll(Collection<? extends E> c)
//        list2.addAll(list);
//        list2.forEach();



    }
}
